10. Regular Expression Matching